package cn.jetpiece.cloud.common.app.modular.message.wrapper;

import cn.jetpiece.cloud.common.api.message.model.result.MessageConfigResult;
import cn.jetpiece.cloud.core.util.ResultWrapper;
import cn.zyszkj.aiot.sdk.model.notify.NotifyTemplateInfo;
import cn.zyszkj.aiot.sdk.model.notify.NotifyTypeInfo;
import cn.zyszkj.aiot.sdk.service.NotifyService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * 消息配置
 *
 * @author jetpiece
 * @since 2022-11-22
 */
public class MessageConfigWrapper extends ResultWrapper<MessageConfigResult> {
    private final NotifyService notifyService;

    public MessageConfigWrapper(Object object) {
        super(object);
        notifyService = new NotifyService();
    }

    @Override
    protected void wrapTheDto(MessageConfigResult dto) {
        for (NotifyTypeInfo item : notifyService.getAllTypes().getResult()) {
            if (item.getId().equals(dto.getNotifyType())) {
                dto.setNotifyType_dictText(item.getName());
                break;
            }
        }
        dto.setNotifyConfig_dictText(notifyService.getNofifyConfig(dto.getNotifyConfig()).getResult().getName());
        NotifyTemplateInfo templateInfo = notifyService.getTemplate(dto.getTemplateCode()).getResult();
        dto.setTemplateCode_dictText(templateInfo.getName());
        dto.setTemplate(JSONObject.parseObject(templateInfo.getTemplate()));
    }
}
